#ifndef STORAGE_H
#define STORAGE_H

//@author A0104234X
#include <iostream>
#include<fstream>
#include<string>
#include"string.h"
#include<vector>
#include"Task.h"
using namespace std;


class Storage{
private:
	
	static const int MAX_ARRAY=1000;

	static const string KEYWORD_DATE;
	static const string KEYWORD_STARTS;
	static const string KEYWORD_ENDS;
	static const string KEYWORD_DETAIL;
	static const string KEYWORD_IMPT;
	static const string KEYWORD_DONE;

	static const string STORE_FILE_NAME;
	static const string LOG_FILE_NAME;
	//static const string LOG_FILE_NAME;
	
	static vector<vector<Task*>> taskListStack;
	static vector<string> commandStack;

public:
	void storeResult(vector<Task*> tasklist);
	vector<Task*> undo();
	void clearLog();

	vector<Task*> loadVect();
	string getTaskInfo(string& task, string infoStart, string infoEnd);
	//void writeLogging(string str);

	void saveCommand(string command);
	string undidCommand();
};




#endif